/**
 * Mixed Any
 *
 * @flow
 */

//  string | number | boolean | ...
function passMixed(value: mixed) {
  // 强类型
  // 必须先做判断才能使用，否则语法报错
  if (typeof value === 'string') {
    value.substring(0);
  }
  if (typeof value === 'number') {
    value * value;
  }
}

passMixed('string');

passMixed(100);

function passAny(value: any) {
  // 弱类型，为了兼容老代码
  // 随意使用不会报错
  value.substr(1);

  value * value;
}

passAny('string');
passAny(100);
